function Graph_IRF_Group(IRF,ResVarList,ResVarTag,...
                         ShockGroup,ShockTag,LineStyleList,FileName)

%% Preliminary Assignment

%% 1X3 Plot
Num_V               =   length(ResVarList);
Num_S               =   length(ShockGroup);
Num_T               =   length(IRF.eps_Z.Y);
N_col               =   Num_V;
N_row               =   1;
fig_size            =   [N_col*250,N_row*250];
Pos                 =   [50, 50, fig_size];  
subplot_gap         =   [0.1,0.03];
subplot_VMargin     =   [0.1,0.12];
subplot_HMargin     =   [0.06,0.02]; 

TempSubPlotFun      =   @(id)subtightplot(N_row,N_col,id,...
                                          subplot_gap,...
                                          subplot_VMargin,...
                                          subplot_HMargin);
fig         =   figure('Name','IRF','Position',Pos);

for vv=1:Num_V
    ax          =   TempSubPlotFun(vv);
    Title       =   ResVarTag{vv};
    PH          =   zeros(Num_S,1);
    for SS=1:Num_S
        for ss=1:length(ShockGroup{SS})
            eval(['TempIRF=IRF.',ShockGroup{SS}{ss},'.',ResVarList{vv},';']);
            TempIRF         =   TempIRF*100;
            if SS==1 && ss==1
                YMAXSCALE   =   max(abs(TempIRF));
            else
                YMAXSCALE   =   max(max(abs(TempIRF)),YMAXSCALE);
            end
            if ss==1
                [PH(SS),ax] =   IRFSoloPlot(TempIRF,LineStyleList(:,SS),1,ax,YMAXSCALE);

            else
                IRFSoloPlot(TempIRF,LineStyleList(:,SS),1,ax,YMAXSCALE);
      
            end
            hold on
        end
    end
    if vv==1
        ylabel(ax,'deviation from steady state$\times$100',...
                  'interpreter','latex','fontsize',14);
    end
    if vv==Num_V
        legend(PH,ShockTag,...
                'fontsize',12,'interpreter','latex','Box','off','Color','none',...
                'location','northeast','orientation','vertical');
    end
    
%     xlabel(ax,'Year','fontsize',14,'interpreter','latex');
    title(ax,Title,'fontsize',14,'interpreter','latex');
end

fig.PaperUnits  =   'points';
fig.PaperSize   =   fig_size;
if nargin>4
    print(fig,FileName,'-dpdf','-bestfit');
end
